/*
 * Copyright 2010-2013 Bornil Photography
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package main.java.net.bornil.db.service;

import java.util.List;

import main.java.net.bornil.db.entity.Event;

/**
 * 
 * @author MaMuN
 * @since 2012/08/26
 */
public interface EventDao {

    /**
     * Gets list of all events
     * 
     * @return List of all fetched events.
     */
    public List<Event> getEvents();

    /**
     * Gets the details of an existing event.
     * 
     * @param evtId
     *            Event Id
     * @return fetched event object or empty object if no event found.
     */
    public Event getEvent(int evtId);

    /**
     * Inserts a new event
     * 
     * @param event
     *            Event object to be created.
     * @return Created event id.
     */
    public int createEvent(Event event);

    /**
     * Updates an existing event
     * 
     * @param event
     *            Modified event details
     * @return Number of event record(s) updated.
     */
    public int updateEvent(Event event);
}
